Digital communication involves the generation and reception of analog waveforms to convey digital data as illustrated in FIG. 1. The transmitter 101 takes as input a sequence of data and converts it into an analog waveform. The waveform is transmitted over a medium or channel 102 to a receiver 103, which decodes the original data from the received waveform.
The transmitter 101 generating the waveform sets the signal amplitude, phase, and/or frequency to one of N discrete values to represent digital information where N is the specified number of signal levels. This level or symbol is transmitted for a predetermined time period called the symbol period and denoted as T0. A symbol is transmitted once every symbol period. In particular, a clock signal with period T0 is used to determine when to send a new symbol. In this fashion, the transmitter conveys digital data as a sequence of symbols to a receiver 103. An exemplary binary on-off keyed waveform 200 is illustrated in FIG. 2 to illustrate some of the attributes of an exemplary communication signal that can comprise a multilevel signal, and in this case, a binary form of a multilevel signal.
In FIG. 2, one of two discrete amplitude values (201, 202) is transmitted every symbol period T0 to convey a bit of information (i.e. a binary ‘0’ or ‘1’). The demarcations 203 illustrate the division from one symbol to another. When the symbol level changes, the demarcation is termed a signal “edge” or “transition”.
The task of a receiver 103 is to decode the digital information (i.e. detect which of the N levels was transmitted) from the communicated analog waveform 200. During transmission, the communicated signal can be degraded. In particular, it can be distorted by the transmission channel resulting in what is known as intersymbol interference (ISI) and corrupted by noise or interference from external sources. The distortion and noise can lead to decoding errors. It is a goal of receiver design to minimize the frequency of these errors.
Consistent with the transmitter 101, the receiver 103 decodes one symbol every symbol period. Similar to the transmitter 101, a clock signal is used to mark the precise time at which to decode a symbol. This clock signal may be obtained from the same clock (not shown) used to drive the transmitter, but it is more often the case that the clock signal is reconstructed from the communicated waveform 200 in a process known as clock-recovery (CR) as depicted in FIG. 1.
Ideally, the recovered clock signal would be an exact replica of the clock used at the transmitter 101. In particular, it would be a periodic signal with period T0. Furthermore, the timing of each sample would ideally convey a maximum amount of information about the corresponding originally transmitted symbol. Unfortunately, in many instances, this is not the case. In particular, the recovered clock signal can exhibit jitter, which is the presence of erratic perturbations of the sample timing which can result in suboptimal decoding.
When jitter is present in the clock signal, instead of decoding a symbol exactly once every symbol period, a symbol is usually decoded only approximately once every symbol period. In other words, sometimes the samples are drawn faster than once every T0 (i.e. drawn too early), and sometimes the samples are drawn slower than once every T0 (i.e. drawn too late), but on the average, they are usually drawn every T0. These timing deviations result in decoding samples closer to the signal edges thereby increasing the chance of decoding errors.
In addition to problems introduced by jitter, decoding at the “right time” is problematic because there might not exist a single periodic time instance, which captures all the available information about the transmitted symbol in the waveform. In particular, even in the optimistic case of having a perfect clock signal at the receiver 103, the clock signal may not provide the best sampling times. These less ideal sampling times can arise due to distortion of the transmitted signal.
For example, in optical communications, it is well known that the chirp distortion on an optical signal can skew the optimal sampling point in a data-dependent fashion. Specifically, the propagation delay for a large amplitude pulse is different than that for a small amplitude pulse. This delay difference can result in (i) an eye-diagram that appears “tilted” and (ii) different optimal sampling points for the different data values.
The problem associated with such a delay difference is illustrated in FIG. 3. FIG. 3 illustrates an eye-diagram 300 of a received optical signal distorted by chirp that can be produced by a direct-modulation laser. Chirp can delay the large amplitude portions 301 of the signal by a larger amount than the small amplitude portions 302 of the signal.
A received signal is usually sampled where the signal is maximally flat and is at one of the amplitude extremes such as at a first time 303 for the large amplitude signal portions and at a second time 304 for the small amplitude signal portions since it is at these points where one has the least likelihood of having a decoding error. Consequently, the optimum sampling time depends on the underlying symbol value and must therefore change on a symbol-by-symbol basis. However, conventional systems use a data-independent sampling point, such as a third time 305 which happens in this case to fall between the first time 303 and the second time 304. The use of such a data-independent sampling time is less than optimal as it does not sample at the amplitude extremes for either the large or small amplitude portions.
As another example, in high-speed communications, the transmission channel often distorts the waveform resulting in what is called dispersion where the signal data characteristic (e.g. amplitude) for one symbol bleeds over into adjacent symbols. It is common practice to counteract this distortion with equalization. Equalization is a “distortion” that is the inverse of the channel response. Unfortunately, it is usually impractical to exactly equalize away all of the channel distortion. The residual distortion can manifest itself as intersymbol interference (ISI) where the received amplitude of one symbol is affected by the transmitted amplitude of surrounding symbols rather than just the current symbol, as is the ideal case.
This ISI can cause two significant problems. Firstly, the ISI can shift the optimal sampling time from the center of the symbol period and have the amount of the shift being dependent on the preceding and succeeding data symbol values. This shift is data-dependent and thus changes on a symbol-by-symbol basis.
Secondly, ISI can temporally shift the symbol transition or edges locations. These shifts can lead to data-dependent jitter (DDJ) in the clock recovery (CR) unit 104 thereby increasing the jitter in the reconstructed clock signal used to drive the decoding unit 105 in the receiver 103.
The problems described above can limit the performance of signal decoding. In particular, the loss of information associated with scalar sampling (i.e. decoding using only a single sample per symbol period) in the presence of timing uncertainty (such as jitter or data-dependent optimal sample times) results in too many decoding errors. Some conventional methods address a few aspects of the jitter problems associated with scalar sampling but they do not solve these problems completely. Many conventional methods and systems attempt to reconstruct the transmitter clock signal at the receiver 103. In particular, those clock recovery (CR) methods are designed to minimize sampling jitter and produce a sampling clock signal with as constant a symbol period as possible. Towards this end, conventional methods and systems attempt to determine an optimal sampling phase by temporally shifting the clock signal so that the receiver 103 periodically samples in an appropriate location.
Conventional methods and systems for temporally shifting the clock signal are usually distinguishable from one another in the manner in which they arrive at such a phase offset. These conventional methods and systems usually attempt to find a single constant or slowly-varying phase value by keeping the variability of the time between sampling points to a minimum. In particular, conventional methods and systems assume the existence of an underlying periodic optimal sample time and they often ignore the fact that the optimal sample time may vary in a data-dependent fashion (and in particular with each symbol) as described above.
While some conventional methods and systems for decoding received signals recognize the need for symbol-by-symbol adjustment of the sampling point, these conventional methods and systems oversample the signal such as regularly sampling the received signal several times within a symbol period and outputting one of the decoded oversampled values as the decoded symbol. These methods and systems can differ by how they determine which of the plurality of decoded oversampled values to output. All of these methods and systems, however, rely on the signal edges to select the oversampled value. For example, some methods and systems output the decoded oversampled value as soon as a predetermined number of decoded values produce an identical value. Such an approach is effectively taking the decoded sample as soon as a valid pulse is detected (as indicated by the consecutive decoded values). This approach has a drawback in that the predetermined number of consecutive decoded values may not be achieved in a symbol period due to signal distortion and noise. In this case, the indicator for adjusting the sample location is absent and therefore cannot guide the decoding process, and it effectively operates in a blind mode of operation. This drawback is the result of an inherent assumption of the method that amplitude distortions are relatively insignificant and sample timing uncertainty is the only factor affecting decoding performance. However, in many communications systems (especially in high-speed systems), it is both sample timing uncertainty and amplitude distortion that causes decoding errors.
Other conventional methods and systems use a sample time that adjusts on a symbol-by-symbol basis. In particular, using the oversampled received signal, the preceding and succeeding edges for each symbol can be detected and the sample time can be taken as the midpoint between the two edges. Thus, this conventional method takes the temporal midpoint of the symbol as the sample time. While very intuitive, this conventional method assumes the received pulses are symmetric in time. In general, this is not the case as many communications channels introduce distortions (such as phase distortions), which can skew the received pulse and result in a sample location that is not in the temporal center of the symbol.
Most conventional methods and systems for decoding received signals propose techniques and hardware that are of considerably complexity especially if the techniques and hardware are considered for high-speed communications systems. Because of their complexity, these conventional techniques and hardware push the speed limitations of integrated circuit (IC) technology. At the time of this writing, high speed communications are moving at speeds on the order of tens of gigabits per second (Gbps).
The oversampling in conventional methods and systems is impractical at these high data speeds because the technology does not exist to build the required high-resolution analog-to-digital converters (ADCs) that sample at these rates let alone the multiples of these rates required for oversampling. Furthermore, the conventional methods and systems often require microprocessors or complex state machines that can process the data at these high data rates.
Microprocessors operating on the order of 100 GHz or more do not exist as of this writing, and it is of extreme difficulty to build the logic that operates at tens of Gigahertz. Additionally, even if the speeds involved were not prohibitive because of advances in IC technology over time, a method requiring less complex and sophisticated circuitry could cost less to implement, and consequently, provide an economic advantage.
Thus, there is a need in the art for a simple method and system for achieving a robust decoding process that can resolve timing uncertainties due to phenomena such as signal distortion, noise, and timing jitter. There is also a need in art for a receiver sampling method and system that adjusts to sample timing on a symbol-by-symbol basis to account for a data-dependent optimal sampling point. Further, there is a need in the art for a decoding method and system that adjusts for optimal sample timing variations in the presence of considerable amplitude distortions and noise. Additionally, there is a need in the art for a method and system that adjusts for optimal sample timing variations where the received pulses are not necessary symmetric. There is also a need in the art a low-complexity solution that can be implemented in an economically practical fashion.